/**
 * 电影列表
 */

import MovieItem from './MovieItem'

function MovieList (h, vm) {
  // 当 vm.sortBy 或者 vm.list 数据发生变化时重新计算每个电影卡片的样式
  vm.list.sort((a, b) => {
    if (a[vm.sortBy] > b[vm.sortBy]) {
      return 1
    }
    if (a[vm.sortBy] < b[vm.sortBy]) {
      return -1
    }
    return 0
  })
  let data = vm.list.reduce((acc, m) => {
    var last = acc[acc.length - 1];
    m.offset = last ? last.offset + last.elmHeight + vm.margin : vm.margin;
    return acc.concat(m);
  }, []);
  let totalHeight = data[data.length - 1].offset + data[data.length - 1].elmHeight;

  return h(
    'div.list',
    {style: {height: totalHeight+'px'}},
    data.map(movieItem => MovieItem(h, vm, movieItem))
  )
}

export default MovieList
